package org.biz.news;

import java.util.List;
import java.util.Map;

import org.biz.IBaseBiz;
import org.hibernate.entity.Column;
import org.hibernate.entity.NewsTitle;
import org.hibernate.entity.Suggestion;

/**
 * 
 * 栏目业务类接口
 * 
 * @Title: IColumnBiz.java
 * @Description:新闻系统(一期)
 * @Copyright: Copyright (c) 2011
 * @Company:北京学邦时代
 * @author 苗有虎
 * @date Oct 30, 2012 11:45:00 AM
 * @version V4.0
 */
public interface IColumnBiz extends IBaseBiz {

	/**
	 * 通过栏目静态名称查看新闻数据
	 * 
	 * @param staticName
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	public Map<NewsTitle, String> selNewsByColumn(int cid, int pageNo,
			int pageSize);
	
	/** 20140127 add by xy start... */
	/**
	 * 通过栏目静态名称查看新闻数据
	 * 
	 * @param staticName
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	public List<NewsTitle> selByColumn(int cid, int pageNo,int pageSize);
	/** 20140127 add by xy end... */
	public List<Suggestion> selByQueAns(int cid, int pageNo,int pageSize);
	public int doCountQueAns();
	/**
	 * 统计新闻数据数量;
	 * 
	 * @param staticName
	 * @return
	 */
	public int doCountNewsByColumn(int cid);

	/**
	 * 本栏目下的相关关键词(关键词随机出现，最好不过啦)
	 * 
	 * @param cid
	 * @return
	 */
	//public List<Keywordid> selKeywordidByCid(int cid, int pageSize);

	/**
	 * 本栏目相关热门的文章
	 * 
	 * @param cid
	 *            栏目编号
	 * @param pageSize
	 *            显示的数量
	 * @return
	 */
	public List<NewsTitle> selHotArticleByCid(int cid, int pageSize);

	/**
	 * 本栏目带图片的热点文章;
	 * 
	 * @param cid
	 * @return
	 */
	public List<NewsTitle> selHotArticleByCidPic(int cid);
	
	/** 20131223 add by xy start... */
	/**
	 * 获得其子栏目
	 * 
	 * @param columns 父栏目
	 * @return
	 */
	public List<Column> listChildColumns(Column columns);
	public List<Column> listChildColumns();

	/**
	 * 通过栏目静态名称查看新闻数据
	 * 
	 * @param staticName
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	public Map<NewsTitle, String> selNewsByColumn(String strCids, int pageNo,
			int pageSize);
	
	public Map<Column, List<NewsTitle>> findColumnNews(String strCids, int pageNo,
			int pageSize);
	
	/**
	 * 推荐文章
	 */
	public List<NewsTitle> searchByRecommend(int limit);
	
	/**
	 * 咨询排行
	 */
	public List<NewsTitle> searchConsultingOrder(int intDays,int limit);
	
	/**
	 * 最新文章
	 */
	public List<NewsTitle> listNewestArciles(int limit);
	
	/**
	 * 统计新闻数据数量;
	 * 
	 * @param strCid
	 * @return
	 */
	public int doCountNewsByColumn(String strCid);
	/** 20131223 add by xy end... */
	
	/**
	 * 查询导航对象
	 */
	public Column findByCidCol(Integer cid);

}